K8S 生态周报 |
您所在的位置:网站首页 › golang k8s开发生态 › K8S 生态周报 |
ko 申请成为 CNCF sandbox 项目 ko-build/ko: Build and deploy Go applications on Kubernetes 是一个专注于为 Go 应用程序构建容器镜像的工具。 当初 ko 的出现是为了给 Knative 项目提供一个使用 Go 项目使用的轻量化构建工具,后来社区中为其逐步增加了很多功能。 现在 Knative 已经托管到了 CNCF ,ko 很自然的也应该成为社区项目。 目前它已经从原先 Google 的组织下移动到了一个独立的 ko-build 组织下。 使用 ko 可以像使用 go build 那样简单,并且无需 Docker 或者其他容器运行时。如果你的项目仅包含 Go 应用的话,选择使用 ko 也是个比较轻量化的选择。 此外,ko 可以用于构建多架构的镜像,以及生成 SBOM 。 接下来我以 apache/apisix-ingress-controller: APISIX Ingress Controller for Kubernetes 这个 Go 项目为例,进行构建: ➜ apisix-ingress-controller git:(master) ✗ KO_DOCKER_REPO=apisix-ingress ko build . -L2022/11/06 17:13:23 Using base distroless.dev/static:latest@sha256:0c627e7a97a91ed2049c3da50a915b8577a79821561a5704ec89f6c8972deae2 for github.com/apache/apisix-ingress-controller2022/11/06 17:13:24 Building github.com/apache/apisix-ingress-controller for linux/amd642022/11/06 17:13:27 Loading ko.local/apisix-ingress-controller-29a2b9b3f039e9a9971dc48aef895b48:56a132da8c4b1b8b79053b59d6f45f7c64d0ff0a10664a7000c3c87f43a1aac42022/11/06 17:13:28 Loaded ko.local/apisix-ingress-controller-29a2b9b3f039e9a9971dc48aef895b48:56a132da8c4b1b8b79053b59d6f45f7c64d0ff0a10664a7000c3c87f43a1aac42022/11/06 17:13:28 Adding tag latest2022/11/06 17:13:28 Added tag latestko.local/apisix-ingress-controller-29a2b9b3f039e9a9971dc48aef895b48:56a132da8c4b1b8b79053b59d6f45f7c64d0ff0a10664a7000c3c87f43a1aac4➜ apisix-ingress-controller git:(master) ✗ docker image ls ko.local/apisix-ingress-controller-29a2b9b3f039e9a9971dc48aef895b48:56a132da8c4b1b8b79053b59d6f45f7c64d0ff0a10664a7000c3c87f43a1aac4 REPOSITORY TAG IMAGE ID CREATED SIZEko.local/apisix-ingress-controller-29a2b9b3f039e9a9971dc48aef895b48 56a132da8c4b1b8b79053b59d6f45f7c64d0ff0a10664a7000c3c87f43a1aac4 df3478059f07 7 hours ago 62.9MB通过加 -L 参数可以将镜像加载到本地的 Docker daemon 中。默认使用 distroless 的镜像作为基础镜像,构建出的镜像体积相对也较小。 同时还可以写一份 .ko.yaml 进行更加详细的配置。对此项目感兴趣的小伙伴可以去尝试下,唯一的限制就只是它仅仅是为 Go 项目使用的,并不够通用。 Trivy v0.34.0 发布Trivy 我介绍过很多次了,这里就不再展开。Trivy 的这个版本主要增加了一些操作系统上的依赖图支持。比如: 对 CentOS/RHEL 等使用 rpm 系统的支持对 Debian/Ubuntu 等使用 dpkg 系统的支持对 Alpine 等使用 apk 系统的支持如上所示,不仅可以显示对应存在漏洞的包,还可以查看其相关的依赖,非常方便用于检查系统漏洞。 上游进展Escape terminal special characters in kubectl by dgl · Pull Request #112553 · kubernetes/kubernetes这个 PR 中对一些特殊字符进行了转义。这其实是一个比较有意思的内容,我来稍微介绍一下。 你可以在自己的终端中尝试执行如下命令: kubectl create -f - |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |